IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks (3GPP TS 22.228). IMS provides key features to enrich the end-user person-to-person communication experience through the integration and interaction of services. IMS allows new rich person-to-person (client-to-client) as well as person-to-content (client-to-server) communications over an IP-based network.
The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between user terminals (UEs) or between UEs and application servers (ASs). The Session Description Protocol (SDP), carried by SIP signalling, is used to describe and negotiate the media components of the session. Whilst SIP was created as a user-to-user protocol, IMS allows operators and service providers to control user access to services and to charge users accordingly.
Within an IMS network, Call/Session Control Functions (CSCFs) operate as SIP entities within the IMS. The 3GPP architecture defines three types of CSCFs: the Proxy CSCF (P-CSCF) which is the first point of contact within the IMS for a SIP terminal; the Serving CSCF (S-CSCF) which provides services to the user that the user is subscribed to; and the Interrogating CSCF (I-CSCF) whose role is to identify the correct S-CSCF and to forward to that S-CSCF a request received from a SIP terminal via a P-CSCF.
IMS service functionality is implemented using application servers (ASs). For any given UE, one or more ASs may be associated with that terminal. ASs communicate with an S-CSCF via the IMS Service Control (ISC) interface and are linked into a SIP messaging route as required (e.g. as a result of the triggering of IFCs downloaded into the S-CSCF for a given UE).
A user registers in the IMS using the specified SIP REGISTER method. This is a mechanism for attaching to the IMS and announcing to the IMS the address at which a SIP user identity can be reached. In 3GPP, when a SIP terminal performs a registration, the IMS authenticates the user using subscription information stored in a Home Subscriber Server (HSS), and allocates a S-CSCF to that user from the set of available S-CSCFs. Whilst the criteria for allocating S-CSCFs is not specified by 3GPP, these may include load sharing and service requirements. It is noted that the allocation of an S-CSCF is key to controlling, and charging for, user access to IMS-based services. Operators may provide a mechanism for preventing direct user-to-user SIP sessions which would otherwise bypass the S-CSCF.
During the registration process, it is the responsibility of the I-CSCF to select an S-CSCF, if an S-CSCF is not already selected. The I-CSCF receives the required S-CSCF capabilities from the HSS, and selects an appropriate S-CSCF based on the received capabilities. It is noted that S-CSCF allocation is also carried for a user by the I-CSCF in the case where the user is called by another party, and the user is not currently allocated an S-CSCF. When a registered user subsequently sends a session request to the IMS, the P-CSCF is able to forward the request to the selected S-CSCF based on information received from the S-CSCF during the registration process.
Every IMS user possesses one or more Private User Identities. A Private User Identity is assigned by the home network operator and is used by the IMS, for example for registration, authorisation, administration, and accounting purposes. This identity takes the form of a Network Access Identifier (NAI) as defined in IETF RFC 2486. It is possible for a representation of the International Mobile Subscriber Identity (IMSI) to be contained within the NAI for the private identity. 3GPP TS 23.228 specifies the following properties of the Private User Identity:                The Private User Identity is not used for routing of SIP messages.        The Private User Identity shall be contained in all Registration requests, (including Re-registration and De-registration requests) passed from the UE to the home network.        An IP multimedia Services Identity Module (ISIM) application shall securely store one Private User Identity. It shall not be possible for the UE to modify the Private User Identity information stored on the ISIM application.        The Private User Identity is a unique global identity defined by the Home Network Operator, which may be used within the home network to identify the user's subscription (e.g. IM service capability) from a network perspective. The Private User Identity identifies the subscription, not the user.        The Private User Identity shall be permanently allocated to a user's subscription (it is not a dynamic identity), and is valid for the duration of the user's subscription with the home network.        The Private User Identity is used to identify the user's information (for example authentication information) stored within the HSS (for use for example during Registration).        The Private User Identity may be present in charging records based on operator policies.        The Private User Identity is authenticated only during registration of the user, (including re-registration and de-registration).        The HSS needs to store the Private User Identity.        The S-CSCF needs to obtain and store the Private User Identity upon registration and unregistered termination.        
In addition to a Private User Identity, every IMS user shall have one or more IMS Public User Identities (PUIs). The PUIs are used by any user to request communications to other users. A user might for example include an PUI (but not a Private User Identity) on a business card. 3GPP TS 23.228 specifies the following properties of the PUI:                Both telecom numbering and Internet naming schemes can be used to address users depending on the PUIs that the users have.        The PUI(s) shall take the form of a SIP URI (as defined in RFC 3261 and RFC 2396 or the “tel:”-URI format defined in RFC 3966.        An ISIM application shall securely store at least one PUI (it shall not be possible for the UE to modify the PUI), but it is not required that all additional PUIs be stored on the ISIM application.        An PUI shall be registered either explicitly or implicitly before the identity can be used to originate IMS sessions and IMS session unrelated procedures.        An PUI shall be registered either explicitly or implicitly before terminating IMS sessions and terminating IMS session unrelated procedures can be delivered to the UE of the user that the PUI belongs to.        It shall be possible to register globally (i.e. through one single UE request) a user that has more than one PUI via a mechanism within the IMS (e.g. by using an Implicit Registration Set). This shall not preclude the user from registering individually some of his/her PUls if needed.        PUIs are not authenticated by the network during registration.        PUIs may be used to identify the user's information within the HSS (for example during mobile terminated session set-up).        PUIs may be used by ASs within the IMS to identify service configuration data to be applied to a user.        
FIG. 1 illustrates schematically example relationships between a user (IMS) subscription and the Public and Private User Identities. In the example shown, a subscriber has two Private User Identities, with both being associated with two Public User Identities (one of the Public User Identities, Public User Identities-2, being associated with both Private User Identities). A Service Profile is associated with each Public User Identity, this profile specifying service data for the associated Public User Identities. A Service Profile is created or modified when an application server is provisioned for a user at the Home Subscriber Server. Each Service Profile comprises one or more initial Filter Criteria (iFC) which are used to trigger the provision, or restriction, of IMS services. The differences between services offered by Service Profile-1 and Service Profile-2 are operator specific, but may involve different application servers (ASs), and even different charging/rating schemes.
In the example, Public User Identity-1 is associated with a Service Profile-1, whilst Public User Identity-2 and Public User Identity-3 are associated with Service Profile-2. In a typical scenario, the Public User Identity-1 might be an identity that the user gives to friends and family, e.g. “Big_Joe@priv.operator.com”, whilst Public User Identity-2 and Public User Identity-3 might be identities that the user gives to business contacts, e.g. “+46111222333@operator.com” and “joe.black@operator.com”.
3GPP defines a so-called “Implicit Registration Set” concept to identify a set of PUIs that work as a group, and which are registered and deregistered together when any one of the PUIs of the set is registered or deregistered. 3GPP mandates that the HSS send the Implicit Registration Set to the S-CSCF upon registration of a user or upon terminating a call. It has been understood that (at registration) the HSS identifies all PUIs within the Implicit Registration Set, and then identifies all of the Service Profiles associated with these PUls. The Service Profiles (or selected data from the Service Profiles) containing the PUIs with which they are associated, are then sent to the S-CSCF. As a result of this operation, the S-CSCF knows all of the PUIs that belong to the same Implicit Registration Set, as well as their Service Profiles.
A possible use case of the IMS involves a collection of users having a group level subscription to the IMS, but where the individual users themselves have no subscription and of which the IMS is unaware. Nonetheless, it is desirable or even necessary to allow direct inward and outward dialling to the users. This might arise, for example, in the case of an enterprise having a subscription to the IMS and having individual employee stations or terminals attached to an IP private branch exchange (IP-PBX). The employee terminals may or may not be provided with SIP clients. In the latter case, the IP-PBX performs a translation between SIP and non-SIP signalling. Whilst it might of course be possible for the IMS to record an individual PUI for each terminal (within the same Implicit Registration Set), this becomes inefficient as the group size becomes large. ETSI TISPAN defines such a corporate network as a Next Generation Corporate Network (NGCN).
An alternative solution is illustrated schematically in FIG. 2 which shows an IP-PBX (designated “IP-PBX 2” having a PABX identity pbx2@operator2.com, serving the number range +31 161 25 xxxx and has a PABX group code 851) which serves a plurality of user terminals, one of which is shown in the Figure as “Ext. 5678”. This solution employs the so-called Public Service Identity (PSI) which is intended to identify publicly available network-based IMS services, rather than user to user service. The solution defines within the HSS a wildcarded PSI which matches the PUIs specified for the terminals belonging to IP-PBX 2.
In the terminating case, when a SIP message, e.g. an INVITE, is received 1 at an I-CSCF of the home IMS network (via an Interconnected Border Control Function, I-BCF), the I-CSCF will recognise a SIP request URI corresponding to a telephone number and will convert this to a Tel URI. In the example of FIG. 2, the SIP request URI is “sip:+31161255678@operator2.com,user=phone”, and this is converted to the Tel URI “Tel:+31161255678”. The I-CSCF then sends a Location Information Request, (LIR), query 2 to the HSS according to normal IMS procedures. The HSS determines that the Tel URI matches a PSI wildcard, and responds 3 with a Location Information Answer (LIA), to the I-CSCF with the identity of the allocated S-CSCF. The I-CSCF forwards the SIP message 4 to the allocated S-CSCF, which then obtains the service profile for the wildcarded PSU from the HSS. This profile includes an IFC trigger which causes the S-CSCF to route the message 5 to a Business Trunking (BT) application server. The application server replaces the SIP request URI “Tel:+31161255678” with the address of IP-PBX 2, namely “pbx2@operator2.com”, and inserts the destination address into the To header field, deleting the previous content which is now lost. The modified SIP message 6 is received back by the S-CSCF.
It is then necessary to traverse a terminating CSCF complex, as the request URI has changed and hence a new terminating party is targeted. The message 7 then arrives at a further I-CSCF which queries the HSS 8, 9 to determine the S-CSCF allocated to the PBX before delivering the message 10 to that allocated S-CSCF. This S-CSCF knows the contact address for the PBX, and adds this as the new request URI. In order to preserve the old URI, “pbx2@operator2.com”, the S-CSCF adds a P-Called-Party-Id containing this URI, before forwarding the message 13 to a P-CSCF and delivery 14 by the P-CSCF to the IP-PBX 2. In order to assure that the message reaches the correct P-CSCF the address, here “pcscf2.operator2.com”, is stored in the route header. Optionally, the second S-CSCF may forward the message 11,12 to a further application server if triggers are activated in respect of the PBX identity before forwarding to a P-CSCF.
In the case where the destination terminal is a SIP terminal, upon receipt of the message, IP-PBX 2 can arrange for delivery of the message to the terminal 15 based upon the address contained in the “To” header field. If the destination terminal is not a SIP terminal, the IP-PBX 2 terminal will handle the termination according to some application specific logic.
The “workaround” solution illustrated in FIG. 2 has the disadvantage that it requires two traversals of a CSCF complex. This will result in increased message transit times. In addition, the information originally contained in the To header is lost, as is the original request URI that was inserted by the caller. Without the original To header, certain applications at the called terminal may not function.
FIG. 3 illustrates a workaround solution for the originating call case, i.e. where a terminal behind a PBX, IP-PBX1, initiates a call 1 to a remote terminal, IP-PBX1 having a PABX identity pbx1@operator 1.com, serving the number range +31 161 24 xxxx and has a PABX group code 850. In this case, as the outbound P-CSCF does not recognise the P-Preferred-Identity contained within the INVITE sent 2 to it by the PBX, it uses as a default P-Asserted-Identity the PUI of the PBX, namely “pbx1@operator1com”. The P-CSCF sends 3 the INVITE to a S-CSCSF. At the S-CSCF, and IFC of the PBX service profile tells the S-CSCF to, involve the BT application server 4. The BT application server validates and asserts that the originating user is the user that is identified in the From header, and replaces the P-Asserted-Identity header with the identity of the calling user, namely “tel:+31161241234”. It then forwards the SIP INVITE 5,6,7 to the terminating user via the S-CSCF serving the PBX identity.